今天就來寫一個跟資料庫有關的功能,本章節介紹用 node.js + mysql 的存取,實作新增、修改、刪除、查詢的功能,以下都是以 mac osx 來當作開發環境,因此以下步驟之前請務必安裝 node.js , npm,另外還有 mysql ,您可以透過 http://dev.mysql.com/downloads/mysql/ 來安裝,mysql 安裝的步驟在此就不做介紹,專注在 node.js 與 mysql 存取的方法。
首先我們先建立一個資料夾 nodejs-demo-mysql ,然後要安裝一下相依的套件使用:express, mysql
建立 package.json,請輸入以下的指令按照提示問題回答
$npm init
安裝 express web framework 到這 nodejs-demo-mysql 應用程式專案裡面,並寫入到 package.json
$npm install express —save
完成 express 之後,再安裝 mysql 套件,在這邊安裝 mysql
$npm install mysql@2.0.0-alpha9
首先可以看到 express 套件, node-mysql 就新增到 node_modules 裡了
資料庫的部分,假定先建立一個 demo_nodejs 的資料庫
然後新增 index.js 作為網頁開頭的起始點,宣告 mysql 後,先使用 createConnection 方法將資料庫的參數初始化
var mysql = require('mysql’);
var conn = mysql.createConnection({
host: 'localhost',
user: 'nodejs',
password: 'nodejs',
database:'demo_nodejs',
port: 3306
});
將資料庫做個連線的動作
conn.connect();
先測試一下,透過以下的 query 執行,如果有將 12 + 34 有算出來,那麼就代表有連線成功
conn.query('SELECT 12 + 34 AS result', function(err, rows, fields) {
if (err) throw err;
console.log('The result is: ', rows[0].result);
});
連線成功後,查詢之後務必要將它關閉。
conn.end();
完整程式如下:
執行結果 有將 12 + 34 = 46 算出來囉
參考資料:
http://expressjs.com/
https://github.com/redblaze/node-mysql
請問 如果我是接續前人的專案新增一些功能,他的後端是用JAVA寫的,資料庫MySQL,用的IDE是Eclipse,而我想增加的部分跟原本的功能不太有關聯(但都在同一個網站上,可能在網頁上方多加一個按鈕連接到我新增的部分)
而我後端比較想用Node.js來寫...這樣會不會有甚麼衝突?